Generic Programming for High Performance Numerical Linear Algebra

نویسندگان

  • Jeremy G. Siek
  • Andrew Lumsdaine
  • Lie-Quan Lee
چکیده

We present a generic programming methodology for expressing data structures and algorithms for high-performance numerical linear algebra. As with the Standard Template Library [14], our approach explicitly separates algorithms from data structures, allowing a single set of numerical routines to operate with a wide variety of matrix types, including sparse, dense, and banded. Through the use of C++ template programming, in conjunction with modern optimizing compilers, this generality does not come at the expense of performance. In fact, writing portable high-performance codes is actually enabled through the use of generic programming because performance critical code sections can be concentrated into a small number of basic kernels. Two libraries based on our approach are described. The Matrix Template Library (MTL) is a high-performance library providing comprehensive linear algebra functionality. The Iterative Template Library, based on MTL, extends the generic programming approach to iterative solvers and preconditioners.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Modern Framework for Portable High Performance Numerical Linear Algebra

byJeremy G. Siek This thesis describes a generic programming methodology for expressing data struc-tures, algorithms, and optimizations for numerical linear algebra. A high-performanceimplementation of this approach, the Matrix Template Library (MTL), is also described.The goal of the MTL is to facilitate development of higher-level libraries and applicationsfor scientif...

متن کامل

The Matrix Template Library: A Generic Programming Approach to High Performance Numerical Linear Algebra

We present a unified approach for expressing high performance numerical linear algebra routines for large classes of dense and sparse matrices. As with the Standard Template Library [10], we explicitly separate algorithms from data structures through the use of generic programming techniques. We conclude that such an approach does not hinder high performance. On the contrary, writing portable h...

متن کامل

The Matrix Template Library: A Unifying Framework for Numerical Linear Algebra

We present a uni ed approach for expressing high performance numerical linear algebra routines for a class of dense and sparse matrix formats and shapes. As with the Standard Template Library [7], we explicitly separate algorithms from data structures through the use of generic programming techniques. We conclude that such an approach does not hinder high performance. On the contrary, writing p...

متن کامل

The Matrix Template Library: generic components for high-performance scientific computing

COMPUTING IN SCIENCE & ENGINEERING tal paradigm underlying the STL, was an important and powerful new software development methodology—and this has been borne out by the tremendous success of the STL for generalpurpose programming. Not so obvious then, however, was how (or even if) generic programming could apply to other problem domains. To investigate the merit of this approach for scientific...

متن کامل

Conception et réalisation d'un solveur pour les problèmes de dynamique des fluides pour les architectures many-core. (Design of generic modular solutions for PDE solvers for modern architectures)

Numerical simulation is nowadays an essential part of engineering analysis, be it to design a new plane, or to detect underground oil reservoirs. Numerical simulations have indeed become an important complement to theoretical and experimental investigation, allowing one to reduce the cost of engineering design processes. In order to achieve a high level of precision, one need to increase the re...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998